package com.twb.code.gen.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.twb.auth.tenant.Tenant;
import com.twb.code.gen.entity.twbCodeGen.TwbCodeGen;
import com.twb.code.gen.entity.twbCodeGen.dto.ExportExcelTwbCodeGenDto;
import com.twb.code.gen.entity.twbCodeGen.dto.SearchDataDicKeyDto;
import com.twb.code.gen.entity.twbCodeGen.dto.SearchTableColumnsDto;
import com.twb.code.gen.entity.twbCodeGen.dto.SearchTableDto;
import com.twb.code.gen.entity.twbCodeGen.dto.SearchTwbCodeGenDto;
import com.twb.code.gen.entity.twbCodeGen.vo.SearchTwbCodeGenVo;
import com.twb.core.base.mapper.TwbBaseMapper;

/**
 * @ClassName TwbCodeGenMapper
 * @Description 代码生成配置Mapper
 * 
 * @author DSY
 * @date 2021-12-31 15:30:38
 */
@Mapper
public interface TwbCodeGenMapper extends TwbBaseMapper<TwbCodeGen> {

	/**
	 * @Title  searchTwbCodeGen
	 * @Description 代码生成配置列表查询（含查询条件）
	 * @param vo
	 * @return
	 * @author DSY
	 * @date 2021-12-31 15:30:38
	 */
	List<SearchTwbCodeGenDto> searchTwbCodeGen(SearchTwbCodeGenVo vo);

	/**
	 * @Title  logicBatchDeleteByIds
	 * @Description 批量删除
	 * @param ids
	 * @return
	 * @author DSY
	 * @date 2021-12-31 15:30:38
	 */
	int logicBatchDeleteByIds(List<String> ids);

	/**
	 * @Title  searchExportTwbCodeGen
	 * @Description 代码生成配置导出查询（含查询条件）
	 * @param vo
	 * @return
	 * @author DSY
	 * @date 2021-12-31 15:30:38
	 */
	List<ExportExcelTwbCodeGenDto> searchExportTwbCodeGen(SearchTwbCodeGenVo vo);

	/**
	 * @Title searchMysqlTables
	 * @Description mysql查询所有表、视图
	 * @param queryLikeStr
	 * @return
	 * @author DHL
	 * @date 2022年1月29日 上午10:08:43
	 */
	@Tenant(ignore=true)
	List<SearchTableDto> searchMysqlTables(@Param("queryLikeStr") String queryLikeStr);

	/**
	 * @Title searchMysqlColumns
	 * @Description mysql查询列信息
	 * @param tableName
	 * @return
	 * @author DHL
	 * @date 2022年1月29日 上午10:09:15
	 */
	@Tenant(ignore=true)
	List<SearchTableColumnsDto> searchMysqlColumns(@Param("tableName") String tableName);

	/**
	 * @Title searchDataDicKey
	 * @Description 查询数据字典key
	 * @return
	 * @author DHL
	 * @date 2022年1月29日 上午10:57:00
	 */
	List<SearchDataDicKeyDto> searchDataDicKey();
}
